package app;

import bean.CondicionCompra;
import bean.Proveedor;
import bean.srv.ProveedorSRV;

public class Sistema {

	// CONSTANTES


	// VARIABLES
	private double porcentajeGanancia = 0.15;	//por defecto se establece en un 15% (segun enunciado)

	
	// CONSTRUCTOR
	
	
	// METODOS
	public double getPorcentajeGanacia(){
		return this.porcentajeGanancia;
	}

	
	public void setPorcentajeGanancia(double nuevoPorcentaje){
		this.porcentajeGanancia = nuevoPorcentaje;
	}

	
	public void agregarProveedor (String razsoc, String cuit, String telefono,
								double descCont, int diasCC, double intCC){
		Proveedor nuevoProveedor = new Proveedor(razsoc, cuit, telefono);
		setCondicionesCompraProveedor(nuevoProveedor, descCont, diasCC, intCC);
		
		new ProveedorSRV().grabarProveedor(nuevoProveedor);
	}
	
	
	public boolean bajaProveedor (String numeroCUIT){
		return new ProveedorSRV().borrarProveedor(numeroCUIT);
	}
	
	
	public void modificarProveedor (String viejoCUIT, String nuevoCUIT, String nuevaRazsoc, String nuevoTel,
									double desCont, int diasCC, double intCC){
		Proveedor proveedorAModificar = buscarProveedor(viejoCUIT);
		if (proveedorAModificar == null){
			System.out.println("No existe un proveedor con ese CUIT, Aprende a escribir !!!");
			return;
		}
		proveedorAModificar.setCuit(nuevoCUIT);
		proveedorAModificar.setRazonSocial(nuevaRazsoc);
		proveedorAModificar.setTelefono(nuevoTel);
		setCondicionesCompraProveedor(proveedorAModificar, desCont, diasCC, intCC);
		
		new ProveedorSRV().actualizarProveedor(proveedorAModificar);
	}
	
	
	private Proveedor buscarProveedor (String numeroCUIT){
		return new ProveedorSRV().buscarProveedor(numeroCUIT);
	}
	
	
	private void setCondicionesCompraProveedor(Proveedor prov, double descContado, int diasCtaCte, 
												double intCtaCte){
		
		CondicionCompra nuevaCondicionCompra = new CondicionCompra();
		
		nuevaCondicionCompra.setDescPagoContado(descContado);
		nuevaCondicionCompra.setDiasCtaCte(diasCtaCte);
		nuevaCondicionCompra.setInteresCtaCte(intCtaCte);
		
		prov.setCondicionesCompra(nuevaCondicionCompra);
	}
	
}
